package cn.alex.sso.project.service;

import cn.alex.sso.project.entity.SysClientAllow;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * @author Alex
 * @description 针对表【sys_client_allow(应用授权表)】的数据库操作Service
 * @createDate 2024-09-24 17:05:38
 */
public interface SysClientAllowService extends IService<SysClientAllow> {

    /**
     * 根据应用id获取授权信息列表
     *
     * @param clientIdList 应用ID集合
     * @return 授权信息列表
     */
    List<SysClientAllow> getListByClientId(List<Long> clientIdList);

    /**
     * 修改授权信息
     */
    void change(Long clientId, List<SysClientAllow> clientAllowList);

    /**
     * 根据用户ID获取授权信息列表
     *
     * @param userId 用户ID
     * @return 授权信息列表
     */
    List<SysClientAllow> getAllowListByUserId(Long userId);

    /**
     * 根据应用ID删除授权
     * @param clientId 应用ID
     */
    void removeByClientId(Long clientId);
}
